[AID-BACKEND-011] Создать Метод ProcessParsedReceiptText() в purchase-ollama-worker

Реализация воркера ИИ-структурирования и генерации JSON

Author

Services Task & Simulation Framework Documentation

Published

July 13, 2026

NoteКраткая карточка задачи
  • Инструкция по шагам:
    1. На Шаге 1: Настроить вычитку очищенных строк из топика bpds.inventory.out.receipt.parsed. Извлечь raw_text_input, app_lang и сквозные x_request_id / case_id.
    2. Реализовать динамическую подстановку системного промпта: при app_lang == ru языковая модель должна принудительно возвращать каноничные названия продуктов на русском языке, переводя любые сокращения ритейлеров (например, «молоко просткв 2.5%» () «Молоко Простоквашино 2.5%»).
    3. На Шаге 2: Выполнить запрос к Llama Container через механизм Structured Outputs, передав в LLM жесткую схему валидации Pydantic.
    4. На Шаге 3: Принять ответ от LLM, провести валидацию структуры массива расходов (обязательное наличие product_id, canonical_name, quantity, price_per_unit, БЖУ).
    5. На Шаге 4: Опубликовать готовый валидный массив продуктов в топик bpds.mdm.out.product.templated, сохранив сквозные x_request_id и case_id.